home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 6
/
QRZ Ham Radio Callsign Database - Volume 6.iso
/
pc
/
files
/
p_misc
/
npf231b.exe
/
NPFPMS.DAT
/
NOTES.DOC
< prev
next >
Wrap
Text File
|
1994-10-23
|
108KB
|
2,526 lines
NPFPMS Multi-User PMS (C) G8NPF 1994
A collection of notes about NPFPMS
-------------------------------------------------------------------------------
The PMS uses the BPQ HOST mode interface, rather than the old TNC2 combios
(virtual tnc) interface. The BPQ version MUST be 4.05 (or later).
The old TNC2 combios emulation is no longer supported.
The PMS does not require the BPQHTNC2 or INT14 drivers.
(You do not need to define any COMBIOS ports in the bpqcfg.txt file)
When editing the npfpms.cfg file or any of the CONFIG or SCRIPT files, use an
ASCII editor. Beware of WP programs (like WordStar?) which can leave odd
formatting control codes in the text!
*NEVER* manually edit the files in the SYS sub-directory. Most are not ascii
files, even if they may appear to be! The only exception is the BBS.NAC file
which you may update, provided the same layout is retained.
*NEVER* manually delete any files in the MAIL or SYS sub-directories.
Files in the SCRIPT and CONFIG sub-directories are ascii files and can be
edited as required.
Do NOT set the Read-only, Hidden or System attributes on any of the files used
by the PMS.
Note: The clock in the PC should be set to match the TIMESIG entry.
(Times in Amateur Radio are normally in GMT)
With slower PC's (and/or hard drives), installing MSDOS's FASTOPEN in your
config.sys file may speed up PMS functions which do a lot of disk searching.
(Like forwarding)
The PMS can open quite a few files at times. BPQcode may also have open files,
so make sure your DOS is configured with sufficient files, especially if you
are running the PMS under DESQview, or you are running other programs that open
lots of files.
The PMS is in full colour, but *should* be ok on a mono vdu with MDA or
Hercules card.
-------------------------------------------------------------------------------
After installation, the main PMS directory will contain the following files and
sub-directories.
PMS.BAT
PMSCODE.EXE
PMSCODE.DLL
RENUMBER.EXE
DELUSER.EXE
PASSWORD.EXE
PRUNIDX.EXE
7PLUS <DIR>
ARCHIVE <DIR>
CONFIG <DIR>
FILES <DIR>
FILES.ULD <DIR>
MAIL <DIR>
SCRIPT <DIR>
SYS <DIR>
The CONFIG sub-directory may contain the following files. (Some are optional)
AUTOLIST.CMD
CHANGE.BBS
EXTERNAL.BAT
FILEDESC.TXT
FWDFILE.LST
HOLD.LST
NPFPMS.CFG
PASSWORD.FBB Password for use with FBB systems.
xxxxxx.MAT Password matrix file(s) for NNA/NPF systems.
The SCRIPT sub-directory may contain the following files.
ALLMSG.TXT
FILES.TXT
HELP.TXT
INFO.TXT
INTRO.TXT
NONREG.TXT
NONXMSG.TXT
The SYS sub-directory MUST contain the following files.
BBS.NAC
LZHRLL.COM
NXTMSG.NUM
SYSOP.TXT
After running for a while, the PMS may create the following files in the SYS
sub-directory.
%LOG.PMS
ATBBS.LST
AUTOLISTA.PMS
AUTOLISTB.PMS
BIDS.REC
JALIST.LST
MSGINDEX.IDX
NAMELOG.SYS
Some other files starting with a % may be created. Never interfere with them!
Some temporary files with the extension .$$$ will also be created, and will be
automatically deleted.
-------------------------------------------------------------------------------
To run the PMS type: PMS (/switch)
The command line accepts the following switches:
/H Lists the valid switches.
/D Inhibit the check for the DOS version.
/P Inhibit Printer-on-line check.
/Vx Inhibit DESQview calls.
The PMS requires MSDOS 3.30 (DRDOS 5.00) or later.
DESQview (if used) should be version 2 or later.
You can inhibit the DOS check if you know the PMS does run under your version
of DOS, but the PMS initialisation file objects.
Inhibiting the DV calls may slows things down if running under DV.
Inhibiting the printer check, and then printing to an off-line or non-existent
printer, may well hang the system.
The system will load an existing JA list, or start a new list otherwise.
**** IMPORTANT!
The very first time you run the PMS, enter your own Name/HomeBBS/QTH details
(N NH NQ) and then do a B (Bye) to enter your details into the user database.
*** You must do this before any other person uses the PMS ***
To close down the PMS type EXIT from the command line. You cannot close the
PMS if it is connected to a user (or node), or any screen is using the editor.
Disconnect all users and close all editor screens first, and then enter the
EXIT command.
-------------------------------------------------------------------------------
Configuration file details.
Each entry must be contained on a single logical line. If a line ends in an
underscore character _ the following line will be treated as an extension of
the previous line.
Most entries are optional and can be put in any order. Undefined entries will
default to pre-set values. A few entries MUST be specified. These are noted in
the description. (Any text is only for example).
Comments following a semicolon ; will be ignored. Multiple spaces and <Tab>
characters are reduced to a single space.
To include leading spaces, multiple spaces, or a ; character, in a text entry,
enclose the entry in double or single quotes.
e.g. " Text entry" 'Text entry' "A semicolon ; in the string"
To include quotes in the entry, enclose it with quotes of the other type.
e.g. "This is 'quotes' in a string" or 'This is "quotes" in a string'
ACCEPT <list of callsign's>
If an accept list is specified, then only the callsign's in the list will be
able to connect to the PMS. All others will be rejected.
The default is no list.
ACKENABLE YES/NO
Determines whether the PMS automatically generates an acknowledgement reply
when the last line of an incoming message is /ACK
The default is YES
ARCHIVE <drv:\path>
Alternative directory path for archived messages.
The default is \PMS\ARCHIVE\
ARCOMPRESSED YES/NO
Download 'AutoRead' messages from FBB BBS's in compressed format, if possible.
The default is YES
AUDIO ON/OFF/TIMED
Determines if the system audio is set to ON, OFF or TIMED, when the PMS is
first started.
The default is ON
AUDIOTIMES <hh-hh>
Specifies the times when system audio is allowed, when using the audio TIMED
option. Use 24hr clock format (00-23)
The default is 00-23 (no restriction)
AUTOLISTTIME-A HH:MM HH:MM (xx:MM) ....
A list of times for a type A AutoList/Read of mail from the local NTSBBS.
See the Mail Forwarding section for more details on how to set times.
The default is no list.
AUTOLISTTIME-B HH:MM HH:MM (xx:MM) ....
A list of times for a type B AutoRead of mail from the local NTSBBS.
See the Mail Forwarding section for more details on how to set times.
The default is no list.
AUTOPROMPT-A <prompt>
The prompt received from the type A NTSBBS
The default is a null.
AUTOPROMPT-B <prompt>
The prompt received from the type B NTSBBS
The default is a null.
AUTOREADCMD V/R
The read command issued by the AutoRead function for non-FBB BBS's, or when
the ARCOMPRESSED option is set to NO
V = Verbose read, which includes all the routing information.
R = Normal read.
The Default is R
AUTOROUTE-A <route>
The route to your type A NTSBBS
The default is to connect direct to the BBS specified by the NTSBBS entry
AUTOROUTE-B <route>
The route to your type B NTSBBS
The default is to connect direct to the BBS specified by the NTSBBS entry
AUTOTYPE 0-2
If 0, then a normal AutoList/Read sequence, without passwords, takes place.
If 1, then the PMS will, upon connecting, send SYSOP (FBB) or @ (non-FBB) to
request a password verification. For use by a remote Sysop.
If 2, then the PMS will send its full [SID] on connecting for AutoList.
The default is 0. (Option 2 is reserved).
BLANK <minutes>
Duration in minutes before the Screen Saver blanks the screen.
Set to 0 to disable the screen blanker.
The default is 15 minutes.
BPQDIR <(drv:)\path>
This specifies the full DOS pathway to the BPQ directory.
The BPQ directory must contain the file BPQCFG.BIN
The default is \BPQ\
BTEXT <text>
BPQ node beacon text. Sent at intervals via the BPQ node.
The default is no text.
CHANNELS 0-14
Specifies the number of user channels, from channel 0.
CHANNELS 2 will give you channels 0, 1 and 2. The greater CHANNELS is set to,
the slower some functions may be, and the more memory the system will require!
The default is 2
DEFMASK &H0000-&H7FFF
The startup value for the monitor port mask.
The default is hex &H7FFF (All ports monitored for all types of frames)
DELETEBULLETIN <number of days>
This is the number of days after which a bulletin is automatically deleted. A
setting of 0 disables the function. Deleted messages cannot be recovered.
The default is 30 (approx. one month). Valid range is 0 to 265
DELETEPERSONAL <number of days>
This is the number of days after which a personal message is automatically
deleted. A setting of 0 disables the function. Deleted messages cannot be
recovered.
The default is 60 (approx. two months). Valid range is 0 to 265
ERRORCOLOUR <colour>
Colour of text for error messages.
The default is 12 (Light red)
EXT <string>
The PMS SID banner.
The default is all options valid [ABFLHMV$]
FILESDIR <drv:\path>
Directory path for an additional files area.
You may use up to 9 FILESDIR commands.
FWDTIME HH:MM HH:MM ....
A list of times when the PMS will do automatic mail forwarding.
See the 'Setting of times' section for more details on how to set times.
The default is no list.
FWDLEVEL 1/2
If 1, then the PMS will only forward messages addressed FROM the PMS SysOp.
If 2, then the PMS will forward messages from any callsign.
The default is 1
FWDONTO YES/NO
If YES, then forward messages on the TO field, as well as the @BBS field.
If NO, then only forward messages on the @BBS field.
The default is NO
HOSTPORT <host port number>
This is the BPQ base host port to use for the PMS. Host ports can be from
1 to 64. If you specify base HOSTPORT 30, and CHANNELS 3 then the PMS will use
host ports 30,31,32 and 33 for channels 0 to 3. The base host port specified
must be less than (64-CHANNELS)
The default is 30
INACTIVETIMEOUT <time in seconds>
This is the maximum time the PMS will wait for ANY input while connected to a
user. This will stop the PMS hanging if a user disappears without
disconnecting. 1200 gives 20 minutes. Set to 0 to disable the timer.
The default is 1200. Valid range is 60 to 3599
INSERTCOLOUR
The default is 7 (white)
JALISTSIZE <size>
The maximum number of entries allowed in the JA list.
The default is 50. Valid range is 10 to 1000
KEEPBBSMSG YES/NO
If YES then incomplete un-compressed messages from BBS stations will be kept.
If NO they will be deleted. (Incomplete compressed messages are always deleted)
The default is NO
KEEPFILE YES/NO
If YES then incomplete uploaded ASCII files will be kept. If NO they will be
deleted. (Incomplete binary files, uploaded by users, are always deleted)
The default is NO
KEEPMSG YES/NO
If YES then incomplete un-compressed messages from normal users will be kept.
If NO they will be deleted. (Incomplete compressed messages are always deleted)
The default is YES
KEYBOARDCOLOUR <colour>
The Default is 7 (white)
KILLBULLETIN <number of days>
This is the number of days after which a bulletin is automatically killed. A
setting of 0 disables the function.
The default is 15. Valid range is 0 to 265
KILLONFWD YES/NO
If set to YES, then mail will be automatically killed after being forwarded.
The default is NO
KILLONREAD YES/NO
If set to YES, then you are offered the option to kill or delete the message
you have just read. Only available to the SysOp (or a remote SysOp).
The default is NO
KILLPERSONAL <number of days>
This is the number of days after which a personal message is automatically
killed. A setting of 0 disables the function.
The default is 30. Valid range is 0 to 265
LOCALINCOLOUR <colour>
Colour of text typed at the local keyboard.
The default is 11 (Light cyan)
LOCALOUTCOLOUR <colour>
Colour of text in response to a local command.
The default is 3 (Cyan)
LOGOPTION <value>
Controls which events are recorded in the log file. The value is a bit field
where each bit set enables a particular type of log entry.
Bit:
0 (System reserved).
1 Auto function connections.
2 Incoming user connections.
3 Disconnections.
4 Auto function failures.
5 User time-outs.
6
7
8 Attempted access of locked files.
9 Protocol errors (forwarding).
10 User matrix errors.
11 Forwarding failures.
12 File uploaded.
13 File downloaded.
14
15 System errors. (Always set on).
The default is &HFFFF (All events logged)
MAILTIME MM MM
A list of minutes past the hour when periodic MESSAGE FOR beacons will be
sent. (Once per hour is normally more than enough!)
The default is no list.
MAXCON <number>
Number of incoming connections allowed per user. A MAXCON of 1 is recommended!
This has no effect on the number of outgoing connections from the PMS.
The default is 1. Valid range is 1 to 5
MAXFRAME <number>
The maximum number of outstanding frames allowed.
If a valid maxframe can be read from the NODE port during transmission, then
the value read over-rides this setting.
The default is 2. Valid range is 1 to 10
MAXLIST <number>
The maximum number of messages that can be listed by the basic List commands.
Set to 0 to disable the restriction.
The default is 50
NIC <address>
Your international address for use in mail headers.
This must be correct or your return mail might get lost!
e.g. G8NPF.GB7ESX.#31.GBR.EU
The default is no address.
NODECONN <text>
Node reply text for a successful connection.
The default is none.
NODEFAIL <text>
Node reply text for a failed connection.
The default is none.
NONXPROMPT <text>
This is the extra prompt given to non-expert users.
The default is no extra prompt.
NTSBBS <callsign>
This is the callsign of your local (GB7) BBS (e.g. GB7ESX)
The default is no callsign set.
OVERWRITECOLOUR <colour>
The Default is 4
PACLEN <number>
The default transmitted packet length. If not specified then a default value
is read from the BPQCFG.BIN file. If a valid paclen can be read from the NODE
port during transmission, then the value read over-rides this setting.
The default is 128
PAGETIMEOUT <seconds>
Sets the time delay before a 'SysOp not available' reply is given to a Page (T)
command.
The default is 20 seconds
PORTnCOLOUR <colour number>
Colour of text from BPQ radio port n. (1 to 16)
The default colour is 7 (White) for all ports.
PRINTER <printer port>
Sets the I/O port used for the printer. (PRN: LPT1/2/3: COM1/2:)
The default is LPT1:
PRINTERFILTER <start-end>
PRINTERFILTER <n1,n2,n...>
Range of ascii codes, or list of individual ascii codes to be excluded from the
printer. Some odd controls codes can confuse some printers.
The default is no codes excluded.
PURGETIME HH:MM
A list of times for the PMS to do its housekeeping. You can enter several times
in the HH:MM format, but two should be enough. Pick quite times as, if the PMS
is very busy, the purge may not take place. Server commands (REQDIR etc.) are
also processed at this time. You must put at least one entry in the list. See
the 'Setting of times' section for more details on how to set times.
The default is no list.
REGISTRATION <number>
Your PMS registration number. For registered users only.
The default is 'unregistered'.
REJECT <list of invalid calls>
A station attempting to log-on using a callsign in this list will be rejected.
The list should include invalid calls like NOCALL PK232 etc.
This should not be used to prevent a valid callsign from gaining entry.
(Undesirables can be locked out by removing their C flag)
The default is no list.
REVIEWSIZE <number of lines>
Sets the number of lines you can scroll back in review mode.
The default is 50. The valid range is 30 to 1000
ROUTEID <Text>
Optional info text to be added to R: routing line. (Max. 26 characters)
Don't include the square brackets or the PMS type/version. They are added
automatically.
The default is no text.
SAVEDIR <drv\directory>
Specifies an alternative drive\directory to save deleted messages in.
The drive and directory must exist.
The default is \PMS\SAVED\
SAVETYPE <BPZUA>
Determines the type of messages copied to the SAVEDIR\ directory.
Types are: B Bulletin P Personal Z autoread U user A ack
The default is NONE
SCREENFILTER <start-end>
SCREENFILTER <n1,n2,n...>
Range of ascii codes, or list of individual ascii codes to be excluded from the
screen display and keyboard input, in addition to the 'default' codes.
The default is no extra codes excluded.
SECURITY <character(s)>
Extra text required if the station that's connected is using the same callsign
as the PMS.
The default is two dots ..
SESSIONTIMEOUT <seconds>
This is the maximum time a user can stay connected before the PMS automatically
disconnects. 3599 will give 1 hour (almost). Set to 0 to disable the timer.
The default is 3500. The valid range is 300 to 3599
SYSTEMCOLOUR <colour>
Colour of system generated text.
The default is 2 (Green)
TEXTBUFFERSIZE <number of lines>
Sets the maximum number of lines available to the system editor.
Files will be truncated to fit the the limit.
The default is 500 lines. The valid range is 50 to 5000
THIRDPARTY 0-2
If 0, then only the PMS SysOp can send 3rd party messages.
If 1, then stations with the S flag set will be able to send 3rd party messages
If 2, then 3rd party messages will be accepted from ANY station. (!)
The default is 1
TIMESIG <gmt/utc/bst/...>
The PMS time signature. This should match the time set in the computer.
The default is gmt
TIMEZONE <zone>
The time zone id used in the PMS mail header.
The default is z
UPCALL (bbscall>uicall)
The callsigns to watch for in FBB BBS Unproto broadcasts. i.e. GB7HSN>FBB
The default is no callsigns set.
UPLISTSIZE <size>
The maximum size of the Unproto list. This list is held in memory, (with a
copy on the hard disk) so the size can be important.
The default is 50 lines. The valid range is 20 to 500
UPPORT <port number>
The BPQnode *RADIO* port for Unproto list update requests to the FBB BBS.
This should normally be the port that you receive FBB Unproto broadcasts on.
The default is 0 (invalid port)
UPREQUEST YES/NO
Enable FBB unproto update requests from the PMS.
The default is NO
UPTIMER <seconds>
Time delay, in seconds, before requesting FBB unproto updates.
The default is 150. The valid range is 60 to 1000
UPLOAD <drv:\path>
Alternative directory path for the user upload files area. Should be different
to any download files area.
The default is \PMS\FILES.ULD\
USENIC 0-3
Determines if the PMS uses the full hierarchical BBS address when doing
compressed forwarding to BBS's with the 'H' flag in their SID banner.
i.e. G8NPF@GB7ESX or G8NPF@GB7ESX.#31.GBR.EU
0 Don't use full address (default).
1 Use full address for NNA forwarding.
2 Use full address for FBB forwarding.
3 Use full address for both NNA and FBB forwarding.
The default is 0
USEWP 0-15
1 Search WP file to see if @BBS matches records. Warn user if different.
2 Use WP entry if a message is entered with no @BBS field.
4 Update the WP file with Home BBS's extracted from AutoRead messages.
8 Allow entries from message headers to update direct user entries(!)
Values may be combined as required. i.e. USEWP 7 (options 1, 2 and 4)
Example values for USEWP:
0 The White Pages file is kept updated, but not used.
1 The WP file is searched when a message is entered, to warn the user if the
@BBS field used differs from the one in the WP file.
2 The WP entry will be used if a message is entered with no @BBS field
3 Both options 1 & 2
4-7 As 0-3, but also the Home BBS's of extracted from messages read by the
AutoRead function are added to the WP file. Setting to 4+ will result in
the WP file growing much faster, but it will then record the Home BBS's of
all stations whose messages pass through the PMS. Otherwise it will only
record WP info on stations who send messages specifically to the PMS.
8-15 As 0-7, but will allow Home BBS's read from message headers to update
(overwrite) direct user entries.
The default is a value of 3 (options 1 and 2)
TEMPDRIVE drv:(\path\)
Specifies an alternative hard disk or virtual (ram) disk for temporary files.
A ram disk must already exist. The PMS cannot create it!
The default is to use the PMS\SYS directory on the current drive.
VDU MONO/COLOUR/MONOVGA
Set to MONO if you are using a MDA or Hercules card.
Set to COLOUR if you are using a CGA/EGA/VGA card with colour monitor.
Set to MONOVGA if you are using a CGA/EGA/VGA card with mono monitor.
The default is COLOUR
WIDTH <width>
The maximum line length (screen width) in the editor.
The default is 80 (full screen)
YAPPCR YES/NO
If NO, then standard Yapp protocol is used.
If YES, then YappC checksum (FBB) and crash recovery protocols are enabled.
The default is YES
******
(Command list terminator. Must be included).
-------------------------------
Multi-line commands. These commands may use more than one line. Text may
include $x variables. The command separator must be at least 5 dashes (-----)
Don't include any text on the command line.
The defaults are pre-set messages.
BBSLOGON
<Text>
The text sent to BBS stations (those with user BBS flag set) at log-on.
BEACONTEXT
<Text>
The text used in the PMS's MAIL beacons.
BYE
<Text>
The text sent in response to a B (Bye) or Q (Quit to node) command.
GREET
<Text>
Additional text sent to users without the SHORT flag set.
MESSAGEFOOTER
<Text>
Optional text included at the end of all messages originated at the keyboard.
The default is no footer.
MESSAGEHEADER
<Text>
Optional text included at the start of all messages originated at the keyboard.
The default is no header.
PAGENO
<Text>
The text sent for a negative response to a SysOp Page. (Page-Down or Time-out)
PAGEYES
<Text>
The text sent for a positive response to a SysOp Page. (Page-Up)
PROMPT
<Text>
The text sent as the PMS prompt.
QUOTEHEADER
<Text>
Optional header text to a quoted message.
The default is no header.
WELCOME
<Text>
Text sent to normal users at log-on.
******
(Command list terminator. Must be included).
See the sample npfpms.cfg file for details.
-------------------------------------------------------------------------------
Script files.
The first 4 files are sent to users at log-on. They will NOT sent to users
flagged as BBS stations in the user file.
INTRO.TXT is sent to all users at log-on
ALLMSG.TXT is sent to users without the SHORT flag set.
NONXMSG.TXT is sent to non-expert users.
NONREG.TXT is sent to a user who has used the PMS before, but has not
registered by entering their Name, QTH and HomeBBS details.
HELP.TXT is sent in response to the H (Help) command.
INFO.TXT is sent in response to the I (Info) command.
FILES.TXT is sent after a W (directory listing) command.
You may edit these text file with any ASCII editor. They can contain anything
you think appropriate.
-------------------------------------------------------------------------------
WP (White pages) file.
The PMS maintains a White Pages file of stations home BBS's
The use of this file depends on the setting of USEWP in the npfpms.cfg file.
The file will be updated when a user's Home BBS is entered with the NH command,
and may be updated when Home BBS's are read from message headers (R: lines)
in messages sent or forwarded to the PMS. Direct user entries will not be
altered by information read from message headers, unless bit 4 of USEWP is set.
The WP entry is also updated if the SysOp changes the users home BBS entry
in the user database file, with the EU xxxxx command.
Note. The reverse is not true. The user database is not updated when the WP
file is updated. It is best to use EU xxxxx to change a registered users home
BBS, so that the WP file stays in sync with the user database. Only use the
EW xxxx@xxxx command to update the WP file for un-registered callsigns.
(A registered user/callsign is one who has an entry in the user database. Use
the F (Find) command to see if a callsign is registered).
When a user enters a message, the PMS will look up the home BBS of the station
in the TO field. If an entry is found, and the user did not specify any @BBS,
then the PMS may add the BBS found in the WP file. If the user gave a @BBS
that is different to the @BBS in the WP file, the PMS may warn the user that
the @BBS they just entered may be incorrect.
e.g.
If G9AAA is in the WP file as having a home BBS of GB7ESX.#31.GBR.EU then,
SP G9AAA will be translated to: SP G9AAA @GB7ESX.#31.GBR.EU
SP G9AAA @GB7NNA will warn the user that the @BBS used may be incorrect.
You may override the WP entry by using the following options:
SP G9AAA@ will always be translated to: SP G9AAA @G9AAA
SP G9AAA@* will always be translated to: SP G9AAA (local message)
------------------------------------------------------------------------------
The SU command. Only available to SysOp.
To leave a message to all users use: SU ALL (Syntax as in the SP command).
The message is posted in the usual way. The message will be flagged as an
unread personal message to all users. The user List and Read commands will
treat the message as if it was an unread personal message. The user cannot
kill the message. To prevent it being offered again, the user should use a List
command after reading it.
------------------------------------------------------------------------------
Carbon Copy (CC) messages.
Multiple personal messages to all callsign's in a group.
This type of message may be sent by any user whose S flag is set if THIRDPARTY
is set to 1, or by anyone if THIRDPARTY = 2
The syntax is: SP <groupname> (@BBS)
Note: It must be SP and not SB. A type SB will not be copied.
To create a Carbon Copy group you create a file, which must reside in the
CONFIG directory, with the group name followed by a .cc extension.
i.e. EPG.CC
The file should contain the callsign(s) of users allowed to send messages to
the group, plus the callsign's and home BBS's of all the users to whom the
message will copied. The list may also contain the names of other CC lists.
e.g. Contents of file EPG.CC
G9XXX ;List of callsign's allowed to send messages to the group.
G9YYY
G9ZZZ
****** ;Separator. Must be at least five stars.
G9AAA @ GB7ESX ;List of recipients.
G9BBB @ GB7NAA
G9CCC
G9DDD @ GB7ESX
G9EEE @ GB7ESX
GROUP2 ;The name of another CC list.
Stations G9XXX, G9YYY and G9ZZZ can send messages to the EPG group by entering
SP EPG The message is sent in the normal way. When the message is finished,
multiple messages are created from the original message. The station sending
the message is informed the CC messages are being created (unless that station
is a BBS station).
If you often need to send several copies of the same message to another BBS it
might make sense to ask the other BBS to create a Carbon Copy file containing a
list of the users you wish to send messages to on his BBS. Then only one copy
of the message would need to be sent to the other BBS.
For example, with the EPG group, if GB7ESX had a CC file for EPG group members
called EPGMEM on his BBS, then the local EPG.CC file could read:
G9XXX
G9YYY
G9ZZZ
******
EPGMEM @ GB7ESX
G9BBB @ GB7NAA
G9CCC
So only one message would be sent to GB7ESX instead of three. The result would
be the same as sending three individual messages to GB7ESX. Of course the above
would only work if GB7ESX was set up to allow this!
The SysOp can always send a message to any CC group even if his callsign in not
in the CC list. You may create as many CC groups as required.
Make sure the names are unique and are not the same as commonly used BBS TO
fields. (Like ALL SYSOP HELP etc.) and are no more that 6 characters long.
After the message is copied to all the callsign's in the CC list the original
message is killed. The copies will be automatically marked for forwarding, if
appropriate.
------------------------------------------------------------------------------
Command history buffer.
Previous keyboard typed commands are saved in a 15 line cyclic buffer.
Use up arrow and down arrow to cycle through the buffer.
-------------------------------------------------------------------------------
Input line editing.
The cursor can be moved with the <arrow>, <Home>, <End> and <Ctrl arrow> keys
The insert key will toggle insert mode on and off. The letter I shows in the
status line when insert is on. <Ctrl Y> or <Esc> will cancel the entire line.
The edit cursor will show as inverted flashing text. The normal cursor shows
as an underscore.
------------------------------------------------------------------------------
Listing pause option.
Assuming ListPause is set to on (P ON) for the user or SysOp....
If a user is connected, then listings will pause approximately every 15 lines
and the user is asked: -- More Y/n >
When the SysOp is using the local keyboard, listings will pause at
approximately one pagefull. The actual number of lines displayed per page
depends on the screen mode.
------------------------------------------------------------------------------
JA command.
The JA command can accept 3 parameters (in any order).
1. The number of entries to search. (Defaults to 12)
2. The callsign/alias to search for. * = wildcard.
3. The BPQ port n, as Pn
e.g.
JA List the last 12 entries
JA 25 List the last 25 entries
JA G9ABC List all entries for G9ABC
JA G9ABC-1 List all entries for G9ABC-1
JA GB7E* List all entries for GB7E...
JA 30 P1 List the 30 most recent entries on port 1
JA G9ABC P2 List all entries for G9ABC on port 2 only
JA P1 List all entries on port 1
-------------------------------------------------------------------------------
PMS status lines.
The top status line indicates:
Session xx:xx The session timer.
Wait xx:xx The inactivity timer.
The second status line indicates:
Cnn The pms channel number.
Hnn The BPQ host port number.
Ch nnnn.. Channel activity indicators.
nnnn Internal status indicator.
UP Indicates the PMS is able to request FBB unproto updates.
U=nn The number of unacknowledged packets pending.
Q=nn The number of packets queued for receive.
B=nnn The number of buffers left in the BPQ node.
The lower status line of the screen display indicates:
ISCA Insert/Shift/Alt/Ctrl key status.
------ The callsign of the station connected to this channel.
Status The current mode of operation.
Serv Upload/Download file servers enabled/disabled.
Busy The busy status of the PMS channel and/or BPQ host port.
Capt Receive capture file (to disk) active.
Mon The monitor status of the BPQ host port.
Print The printer status.
M:nnnn Monitor port mask (in hex).
:<callsign> Selective monitor callsign
-------------------------------------------------------------------------------
System errors.
The PMS will attempt to recover from some system errors.
If possible, it will disconnect any users, close down, and then re-boot the PMS
code. Depending on what had gone wrong, this may or may not work, but if it
fails, nothing is lost by trying!
-------------------------------------------------------------------------------
User sub-directories.
The SysOp can set up user sub-directories in the FILES directory.
The directory format is: G9ABC.USR (The extension must be .USR)
Only a user with a matching callsign will have access to the files in a .USR
sub-directory. You may have as many .USR sub-directories as you wish.
-------------------------------------------------------------------------------
Time-outs.
The session time-out (Session) will disconnect a user after the time specified
by the SESSIONTIMEOUT entry has expired.
The inactivity time-out (Wait) will disconnect a user after the time specified
by the INACTIVETIMEOUT entry has expired without ANY input to the PMS.
If a user times out during a file upload/download the time-out is held until
the file transfer is completed. The time-out then takes effect.
The session and inactivity time-outs are suspended during CHAT sessions and
when in TERMINAL mode, and also when the station connected is logged in with
SysOp status.
(Remember the time-out counters can be manually re-set with the F7 and Shift/F7
function keys)
-------------------------------------------------------------------------------
Setting of times. (For forwarding, AutoList etc.)
The list should be in the form of HH:MM HH:MM or xx.MM
Times can also have a 'days of the week' parameter.
Those times will only be used if the current day is included in the parameter.
This can be used to stop forwarding on busy days (i.e. weekends).
e.g. FWDTIME 10:22/145 05:15/23456 16:45
The 10:22 time will only operate on days 1,4 and 5
The 05:15 time will only operate on days 2,3,4,5,6 (i.e. Not Sat or Sun)
The 16:45 time will operate on any day.
The form xx:MM is for MM minutes past the hour, every hour.
e.g. FWDTIME xx:25
Will forward at 25 mins past the hour, every hour.
FWDTIME xx:45/23456
Will forward at 25 mins past the hour, every hour, but only Mon-Fri.
Specific times, and mins past the hour may be combined.
FWDTIME xx:45/23456 01:35/17
Will forward at 45 mins past the hour Mon-Fri and at 01:35 on Sat and Sun.
(Day 1 is Sunday, Day 7 is Saturday)
Do not set a time to exactly on the hour as that's when the PMS saves its
data cache to disk, and runs its external batch file.
-------------------------------------------------------------------------------
Syntax of connect paths for Forwarding, AutoList etc.
The connect path commands consist of a list of commands & nodes to connect
through, ending in the callsign of the station you wish to connect to,
separated by colons. i.e. C G8NPF-1:C G1NNB:C GB7NNA
You can force a BPQ switch to connect on a specific port by using the nodes
alias with a dummy SSID, rather than its callsign, and prefixing the BPQ port
number to the alias.
i.e. instead of using C G8NPF-1:C G1NNB:C GB7NNA
use C G8NPF-1:C 2 ESX-2:C GB7NNA
This will connect normally to node G8NPF-1 first, and then try to connect via
G8NPF-1's port number 2 to G1NNB's node alias ESX, and then to GB7ESX
Forcing a connect on a specific BPQ port only works if you use a node alias
with a dummy SSID number.
Apart from the above use, it is best to use a nodes real callsign, rather than
its alias, when setting up connect paths.
The connect command is normally C but can also be X if you are
cross-connecting via a KA node. If the connect command is omitted, the a C is
assumed.
i.e. C G8NPF-1:C G1NNB:C GB7NNA (Normal connect)
G8NPF-1:G1NNB:GB7NNA (Same as above)
C KEPAC3:X GB7DUG (Cross connect via KA node KEPAC3)
-------------------------------------------------------------------------------
Automatic Forwarding protocol.
When setting up your FWDFILE.LST the LAST entry *MUST* be your local NTSBBS
When the PMS starts a forwarding session it will scan the FWDFILE.LST file and
forward any messages it finds for stations included in the list.
When it gets to the NTSBBS entry, any messages (with an @BBS field) for
stations NOT in the FWDFILE.LST file will be sent to the NTSBBS.
Messages with @BBS fields unknown to the PMS (like @EU @WWW @WA7XYZ) will
always be sent to the NTSBBS.
If you add the parameter /R to a stations entry in the forwarding file, then
the PMS will always attempt to connect to that station, to enable reverse
forwarding, even if the PMS does not have any messages to forward to that
station.
The PMS can forward to another system (TCP/IP system?), which uses the same
BASE callsign as the PMS, just with a different SSID.
Just add a normal entry to the forwarding file (fwdlist.lst) like:
C (port) (node:)G8NPF-5
Then post the messages to be forwarded like: SP G9ABC@G8NPF.ampr.org (or SB..)
The .ampr.org extension prevents the PMS from stripping the @BBS field, and it
will forward the messages to the other system.
Note: Whilst its ok to modify existing entries in the fwdlist.lst file while
the PMS is running, if you add a new entry you should re-start the PMS so that
it will re-scan the list.
------------------------------------------------------------------------------
BBS/PMS SID letters.
When the PMS connects to a BBS for forwarding it checks the SID of the BBS.
Typically, the BBS SID may be something like [NNA-2.02-BFHLM$]
or [FBB-1.00-ABFHM$]
The PMS will support the use of BID's for bulletins if the BBS has included
the $ character in its SID. (All known software does).
It will also use use MID's for personal messages if the BBS has included a M
in its SID. Note, if the SID includes the letter L, then the letter M is
assumed, even if its not actually there.
The letter A indicate the PMS/BBS can support FBB's ACK: type messages.
The letter V indicate the PMS/BBS can support NNA type password verification.
The letter F indicate the PMS/BBS can support FBB's bulk ascii forwarding.
The letter B indicate the PMS/BBS can support FBB's bulk compressed forwarding.
If you include the letter B you MUST also include the letter F
The letter L indicates the PMS/BBS supports NNA's bulk compressed forwarding.
The letter L over-rides BF. If both PMS & BBS have the letters BFL in their
SID's then NNA bulk forwarding will be used in preference to FBB forwarding.
If both PMS & BBS included a H in their SID, then the PMS will use the full
address of a station, if known. (e.g. G8NPF@GB7ESX.#31.GBR.EU)
Normally it is not necessary (or desirable?) for the PMS do do this, as routing
is best left to the BBS.
If your current version of the PMS SID includes the letter P then it MUST be
removed as the old style NNA compression is no longer supported by the PMS
(or by NNA!)
The $ should be the last letter, to retain compatibility with early MBL/RLI
systems.
The PMS SID should normally be ABFLMHV$
------------------------------------------------------------------------------
Forwarding and the optional parameters > < @ & $
>callsign All messages addressed TO the specified callsign
<callsign All messages addressed FROM the specified callsign
@bbs All messages addressed @ the specified BBS
### a specific message number
$ All non-local messages
Normally, only messages with an @BBS field that matches the callsign of the
station being forwarded to, will be forwarded to that station.
i.e. only messages addressed xxxx@G9ABC would be forwarded to G9ABC.
You can force the PMS to forward other message groups by using the parameters
listed above.
When using the manual forwarding command FD (or poll command PL):
FD G9ABC-3 >WNOS &1234
will forward to G9ABC all messages addressed @G9ABC as normal, plus any
messages addressed to WNOS, and the specific message numbered 1234 regardless
of how it is addressed.
The same format can also be used in the automatic forwarding file FWDLIST.LST
to always include certain groups of messages in a forwarding session.
e.g.
C G8NPF-1:C G9ABC-3 >DEBATE
will always forward messages addressed to DEBATE to station G9ABC-3 as well
as any normal messages addressed @G9ABC
C GB7xxx $
will forward ALL non-local messages to GB7xxx (Similar to the way messages
are forwarded to your usual NTSBBS)
Note:
Personal messages (PW) can only be forwarded once, so if you re-direct a
personal message to another station its status will become PF, and so it will
not be forwarded to the addressee as well. (Unless you use the MM command to
change its status back to PW)
Bulletins (B$) do not get their status changed after forwarding, so they can be
forwarded to more than one station.
-------------------------------------------------------------------------------
Automatic password exchange with the SID V option. (NNABBS)
If both your PMS, and the station you are forwarding to, have the automatic
password verification option set (letter V in the SID) then the system will
insist on a password exchange. If either station does not have the correct
password matrix, the system will disconnect.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Special control key combinations.
The <Ctrl><Left-Shift> key combination.
Holding down these keys will:
1. Inhibit the MAIL beacon after a user disconnects, or whenever the PMS is
about to send a MAIL beacon.
2. Terminate a FORWARD, POLL or AUTOLIST session at the end of the current
connection.
3. Will abort a users listing as if the user had sent an abort (A) command.
4. Will prevent the PMS from re-booting after closing down with an error
condition.
The <Alt><Left-Shift> key combination. (Similar to F12 key)
Pressing these keys will switch the PMS display to the next channel up.
The <Alt><Right-Shift> key combination. (Similar to F11 key)
Pressing these keys will switch the PMS display to the next channel down.
The <Ctrl><Right-Shift> key combination.
Holding down these keys will dump a user. The user is disconnected without
warning!
The <Alt><(0-9)> key combination.
Pressing Alt(0-9) will switch the PMS display to that channel (if valid).
<PageUp> & <PageDown> keys.
1. Used in response to a chat request alarm from a user.
Pressing <PageUp> will advise the user that you are ready to chat.
Pressing <PageDown> will advise the user that you are not available.
(Doing nothing will also give the unavailable response after a short delay).
2. When a user is connected to the PMS, pressing <PageUp> will advise the user
that you wish to chat to them. <PageDown> terminates the chat and puts the user
back to the normal PMS.
The <PageUp> and <PageDown> keys ONLY work when the PMS is connected to a user.
The <Tab> key.
When in TERMINAL or CHAT mode, the <Tab> key will add 3 chevrons plus a
<Return> to the input line. >>><Cr>
-------------------------------------------------------------------------------
Message status flags.
Flag Meaning Number (in hex)
0 RBA Read by addressee 0x = Number of times read
8x = Read by SysOp
1 RBO Read by others xx = Number of times read
2 TYP Message type 01 = Bulletin (B)
02 = Personal (P)
04 = AutoRead (Z)
08 = User (U)
10 = ACK (A)
20 = (spare)
40 = (spare)
80 = Undetermined type
3 CMP Completed 00 = Message Incomplete
01 = Message completed
Cn = Incoming message on channel n
4 KOF Kill on forwarding 00 = Do not kill
01 = Kill after forwarding
5 FWT Forward type x0 = Not for forwarding
x1 = Waiting for normal forwarding
1x = Forward only. No local read
2x = Message still being received
8x = Flagged for SysOp's attention
6 FWD Forwarded 00 = Not yet forwarded
01 = Read by addressee before being forwarded
08 = Forwarded
7 ACT Active flag Bit field
.... ...0 = Killed
.... ...1 = Active
...1 .... = On hold
..1. .... = Locked by message editor
.1.. .... = Un-killable (by user/auto system)
1... .... = Un-deleteable (by auto system)
x = anything
. = 0 or 1
A typical MS (Message Status) might produce:
RBA - &H01 Read once by the addressee
RBO - &H02 Also read twice by other stations
TYP - &H01 Bulletin message
CMP - &H01 The message is complete
KOF - &H00 Don't kill after forwarding
FWT - &H01 Message for normal automatic forwarding
FWD - &H08 Has been forwarded successfully
ACT - &H01 An active message.
Forwarded to: (callsigns)
The last line indicates which stations the message already have the message.
To change a message's status use MM followed by a list of parameters in the
same order as the MS list. Use a * to leave a flag unchanged. You only need to
enter parameters up to the one you wish to change.
e.g. Assume that message number 123 has been entered onto the system
as a bulletin, and you wish to change this to a personal message....
MM 123 * * 2
....will do the trick. Flags 0 and 1 remain unchanged. Once the change has
be made to the relevant flag, no more asterisks need be added.
Numbers can be entered using any valid number system.
i.e. &HF1 &B11110001 241 F1H are all the same value.
When changing a flags value, be careful to only change the bits required!
Special message types.
Un-killable and Un-deleteable messages.
Only the SysOp can kill/delete this type of message, after setting the status
back to normal. The auto housekeeping function will not be able to kill or
delete them either.
-------------------------------------------------------------------------------
Screen filter.
Control codes will normally be printed to the screen as ascii characters,
rather than being 'interpreted' as vdu commands.
However, if any control codes cause a problem (possibly with ANSI.SYS), you can
filter them out with:
SCREENFILTER <start-end> to filter out a range of codes, or
SCREENFILTER code1,code2,code3.... to filter out a list of individual codes.
You can use multiple SCREENFILTER commands.
Normally, you should not need to use the SCREENFILTER command.
-------------------------------------------------------------------------------
Printer filter.
You can filter out ascii codes from the printer with:
PRINTERFILTER <start-end> to filter out a range of codes, or
PRINTERFILTER code1,code2,code3.... to filter out a list of individual codes.
Do NOT exclude 10 and 13 (CR & LF) as this will prevent normal printer
operation. You can use multiple PRINTERFILTER commands.
i.e.
PRINTERFILTER 0-9
PRINTERFILTER 11,12
PRINTERFILTER 14,31
will filter out all control codes except 10 * 13
This may be required to prevent erratic printer operation when printing is
enabled whilst the PMS is monitoring 8 bit binary data.
Some printers may require codes 128-255 to be filtered out as well.
Normally, you should not need to use the PRINTERFILTER command.
-------------------------------------------------------------------------------
Printer control.
The PMS attempts to manage printer output, to prevent an attempt to print to a
printer that is off-line, or otherwise unavailable, from hanging the PMS.
However, pressing the Print-Screen key to dump the screen to printer with the
printer unavailable (switched off or buffer full) may well hang the system.
-------------------------------------------------------------------------------
Dump user.
A user may be dumped at any time by pressing, and holding, the
<Right Shift> and <Right Ctrl> keys simultaneously. The user is disconnected
immediately without any warning even if in the middle of a file up/download.
This should be regarded as a last resort Panic Button only.
-------------------------------------------------------------------------------
Compressed message forwarding.
Compressed message forwarding to/from NNA BBS.
The PMS is capable of forwarding messages in NNA bulk compressed format to
other stations using compatible code (NNA/NPFPMS)
To enable this function include a L in the EXT line in the npfpms.cfg file.
Compressed message forwarding to/from FBB BBS.
The PMS is capable of forwarding messages in FBB bulk ascii/compressed format
to other stations using compatible code (NNA/FBB/NPFPMS)
To enable this bulk ascii forwarding include the letters F in the EXT line in
the npfpms.cfg file. To enable this bulk compressed forwarding include the
letters B in the EXT line in the npfpms.cfg file.
(If you include the B, then you must also include the F)
Protocol errors sent out by FBB BBS's.
--------------------------------------
0 : Binary packet is not of header (HD) type when receiving title.
1 : Checksum of message is wrong.
2 : Message could not be un-compressed.
3 : Received binary frame is not DATA (DT), not EOT (ET).
4 : Checksum of proposals is wrong.
5 : Answer to proposals must start with F or **
6 : Answer to proposals must be either FF or FS
7 : More than 5 answers to proposals.
8 : Answer to proposal is not +, - or =
9 : The number of answers does not match the number of proposals.
10: More than 5 proposals have been received.
11: The number of fields in a proposal is wrong (6 fields).
12: Protocol command must be FA, FB, F>, FF or FQ
13: Protocol line starting with a letter which is not F or *
-------------------------------------------------------------------------------
Review mode.
A scroll back buffer is available. Press <Ctrl><Page up> to
activate. You may scroll backwards and forwards with the cursor keys, Page up,
Page down, Home and End keys.
Press <Esc> to exit the review mode.
-------------------------------------------------------------------------------
Number formats.
The PMS will normally accept numeric input in the following formats.
Decimal e.g. 1201
Hex e.g. &HA6 or A6H or $A6
Binary e.g. &B100110 or 100110B
Octal e.g. &O102 or &102
Invalid numbers (e.g. &HXYZ or &B56) will normally default to zero.
The highest valid Decimal number is 999999
The highest valid Hex number is &H7FFF (32767)
The highest valid Binary number is &B111111111111111 (32767)
Out-of-range numbers will be forced to within the valid range for the command.
e.g. R -6 will be forced to 0 (Negative numbers are invalid)
R 1234567 will be forced to 99999 (The highest message number possible)
The system will treat all numeric input as DECIMAL unless instructed otherwise!
-------------------------------------------------------------------------------
Security code.
This is a simple security system to trip up the casual hacker trying to access
the PMS by adopting the PMS's own callsign.
Add the line: SECURITY (characters) to the npfpms.cfg file.
If anyone logs on to the PMS using the PMS's callsign (SSID ignored), the extra
characters must be sent before the normal PMS> prompt will be seen. Anything
else will cause the PMS to terminate the connection. Choose characters that may
go unnoticed by a casual observer, rather than something obvious.
i.e. .@- would be far less obvious than SYSOP
By default the security code is disabled.
Note:
If you wish the PMS to accept forwarding from another system using the same
callsign, then you will need to disable the security feature.
e.g. A TCP/IP system with the call G8NPF-5 forwarding to the PMS which has
the call G8NPF-3
-------------------------------------------------------------------------------
User flags.
These flags can be set or cleared for individual users by using the Edit User
command: EU <callsign>
The letters in the flag string indicate the following:
X Expert mode on.
P List Pause on.
L Reverse list order on (list high to low).
E User gets shorter log-on messages.
B User is a BBS. No log-on messages.
C Accept connections from this user.
K Suppress the listing of killed messages.
U Allow user to upload files.
D Allow user to download files.
R Allow user to read 3rd party messages. (No effect if THIRDPARTY=0)
S Allow user to send 3rd party messages. (No effect if THIRDPARTY=0)
A Allow user to user Remote SysOp command.
New users will default to : P,C,K,U,D
The SysOp's entry will normally be: P,C,K,U,D,R,S,A
Using the EU command to change a users flags.
To set a flag, enter its letter with an optional + sign.
To clear a flag, enter its letter with a - sign.
You may separate the entries with spaces or commas.
i.e.
+C+A-RU
C +A -R U
+C, A,-R,+U
will all set the C, A and U flags, and clear the R flag.
The X, P and L flags can be changed by users, with the X, P and LR commands.
The other flags can only be changed by the SysOp, with the EU command.
New users will have the P flag set by default.
Set the B flag for unattended/BBS stations. They do not want any log-on text.
Set the E flag for regular users, who no longer want the full log-on text.
------------------------------------------------------------------------------
Files directory description file.
An ascii file called CONFIG\filedesc.txt is used to describe all the files
and sub-directories within the FILES section. See the sample file.
You must edit this file to suit your files. The maximum number of entries
scanned in this file is limited by the TEXTBUFFERSIZE setting in the npfpms.cfg
file. Entries greater than this will be ignored.
If a file-type is indicated by the type letter:
A for ASC T for TXT B for BIN D for DIR Z for ZIP
Unknown types show as ...
A file description is not mandatory, but is best included.
-------------------------------------------------------------------------------
Text colours.
The monitored frames from each BPQ host port are displayed in a different
colour. The colours can be set in the npfpms.cfg file with the commands:
PORT1COLOUR to PORT16COLOUR (All default to white)
Other colours are:
LOCALINCOLOUR Defaults to light cyan. Mostly used for keyboard text.
LOCALOUTCOLOUR Defaults to cyan. Mostly used for command reply text.
SYSTEMCOLOUR Defaults to green. Mostly used for system text.
ERRORCOLOUR Defaults to light red. Used for error messages.
KEYBOARDCOLOUR Defaults to white.
Text colours on a VGA system are:
O Black
1 Blue
2 Green
3 Cyan
4 Red
5 Magenta
6 Brown
7 White
8 Gray
9 Light Blue
10 Light Green
11 Light Cyan
12 Light Red
13 Light Magenta
14 Yellow
15 High intensity White
-------------------------------------------------------------------------------
REQFIL, REQDIR, FNDFIL and WP servers.
The method of sending requests to other PMS/BBS's is described in the file
USER.DOC, in the FILES directory.
When the PMS receives a server request it will normally process it immediately
and generate a return message.
Note: The PMS will only respond to a server request addressed DIRECTLY to the
PMS as a PERSONAL message.
i.e. It will NOT respond requests like:
SB REQDIR (@anycall)
SB REQDIR @GBR
SP REQDIR @anycall
It will respond to:
SP REQDIR
SP REQDIR @(its own callsign)
-------------------------------------------------------------------------------
Automatic listing of mail from your NTSBBS with AutoList and AutoRead.
The PMS supports two types of AutoList function.
Type A (generic) is suitable use with most types of BBS, in particular NNA and
FBB BBS's .
Type B is for users of FBB BBS's that support UNPROTO LIST broadcasts.
AutoList Type A.
----------------
The PMS will automatically log on to your local NTSBBS and issue a sequence of
commands (contained in the file CONFIG\autolist.cmd) to download mail headers.
The autolist.cmd file will normally just contain a single L list command, but
the file may contain any valid command(s). e.g. L> DEBATE or L@ GBR
All text received from the BBS is written to the AutoListA file.
The AutoListA file can be browsed/edited by using the <Alt>F6 function key.
AutoList Type B.
----------------
The PMS will make use of FBB Unproto broadcasts to maintain an up-to-date
mail header list. The system watches for FBB Unproto UI broadcasts using the
callsigns specified by the UPCALL command, and automatically adds the received
lines to the file. If any lines are missing, the PMS will request them
automatically from the FBB BBS. For this to operate, your FBB BBS SysOp must
enable your U flag in his BBS setup). The update will be requested on BPQ
radio port specified with the UPPORT command. This will normally be the port
you receive the unproto broadcasts on.
If the BBS can tell the PMS to stop asking for updates if it is not configured
to allow you to request updates. If this occurs, the only way to re-enable the
update request function in the PMS is to re-boot the PMS.
Note: There is no point in the PMS requesting updates if the BBS is not
configured to respond to them!
The AutoListB file can be browsed/edited by using <Ctrl>F6 function key.
AutoRead.
---------
Editing the AutoList file. (Both types A and B)
Mark any messages you wish the PMS to Read the next time round with a # in the
first character position. This is done by pressing the <Tab> key to toggle
a leading # on and off automatically. You can also delete unwanted lines.
With a type 2 list, it best not to delete lines near the top of the list.
The format of the header lines is critical, so you cannot change anything else.
Most editor functions that alter the text are locked out!
The next time the PMS performs an AutoList/Read session, it will also do a Read
of all the messages in the list marked with a #. The messages will be added to
the PMS message base. After completing a successful read, the # in the list
will be changed to a * If the PMS cannot decode a message, the # will be
changed by a ? If the message number marked is invalid (not a number?) the #
will be changed with a !
The AutoRead function extracts the TO @BBS FROM and SUBJECT fields from the
message headers received from the BBS, as they appears in the AutoList list.
The PMS will recognise 3 types of system based on the SID received from the BBS.
These are NNABBS, FBBBBS and NPFPMS. Anything else is treated as OTHERBBS.
The PMS needs to know the order of the fields in the message header. The
default field order expected (for all BBS types) is 4,5,6,8
For example:
A typical header from a NNA BBS looks like:
Msg# TS Size To @BBS From Date Subject
71812 B$ 6780 DEBATE GBR G9ABC 03-May Debating issues.
fields> 1 2 3 4 5 6 7 8
required> 4 5 6 8
A typical header from a FBB BBS looks like:
Msg # TSL Size To @BBS From Date/Time Subject
71651 B$ 6780 DEBATE@GBR G9ABC 0403/1819 Debating issues.
fields> 1 2 3 4 5 6 7 8
required> 4 5 6 8
So, although the spacing is different, the field order is the same. The actual
field order may vary depending on how the BBS has been set up, and what
software it is using.
If the header from your NTSBBS has the same arrangement of fields, then you do
not need to alter the default configuration. If the order of the fields differs
you must specify the field order in the NPFPMS.CFG file by using the
command: FIELDS <data>
<data> is a list of 16 numbers, 4 for each BBS type, separated by commas.
The order is: OTHERBBS FBBBBS NNABBS NPFPMS
In each group of 4, the first is the TO field, the second is the @BBS field,
the third is the FROM field, and the fifth is the SUBJECT field.
i.e. FIELDS 4,5,6,8,4,5,6,8,4,5,6,8,4,5,6,8 (The defaults) You must specify
all 16 numbers, even if your are only changing one set of four.
If the PMS extracts a field incorrectly, the message header, as displayed on
the PMS, will be incorrect. This will not cause any real problems, as AutoRead
messages are given the status ZN and are treated as personal messages. They
cannot be read by anyone other than the PMS SysOp, and will not be included in
any forwarding sessions, or appear in listings to other users of the PMS.
(Unless THIRDPARTY is set to ON)
General.
--------
AUTOREADCMD R or V ?
V (Verbose read) will retain all the routing lines, whilst R (Read) will not.
The routing information lines contains the senders Home BBS. If you use the SR
(or SC) command on a message that does not have routing information, the PMS
will check its WP file and may, or may not, obtain the senders correct Home BBS
from there. The routing information is more reliable, but can involve
downloading a large amount of extra text. This might be seen as anti-social on
a busy frequency.
Note: This does not apply when AutoReading from a FBB BBS, where messages are
read in compressed format, which includes the routing information.
AUTOROUTE-A contains the connect path to your NTSBBS for type A AutoList
AUTOROUTE-B contains the connect path to your NTSBBS for type B AutoList
e.g. AUTOROUTE-A G1NNA-1:GB7ESX or AUTOROUTE-A GB7DDX
You can cross connect via a KA node by using the X option. e.g.
AUTOROUTE-A KEPAC3:X GB7DUG
(See 'Syntax of connect paths' for a full description of connect paths)
AUTOPROMPT-A contains the prompt the NTSBBS issues when it has finished
sending text. The prompt will normally be something like: GB7ESX BBS >
Some BBS's (FBB) can prefix the prompt with a (variable) port number, and some
include the time (obviously variable!). So, what the PMS looks for is a line
ending with a > character, and including the specified prompt within the line.
If AUTOPROMPT-A is set (for example) to GB7ESX BBS then the PMS will accept
2:GB7ESX BBS > or GB7ESX BBS 10:35 > or just GB7ESX BBS>
In the (unlikely) event of the prompt actually appearing in a message header or
content, then the AutoList/Read function will terminate prematurely, so make
the AUTOPROMPT-A as specific as possible.
(The above also applies to AUTOPROMPT-B)
IT IS MOST IMPORTANT TO GET THE PROMPT CORRECT.
It is the only way the PMS knows it has finished receiving text from the BBS.
If the prompt is incorrect, the PMS will just sit and wait until your
connection times out, and the BBS disconnects you.
Set the times to carry out the AutoList function in the npfpms.cfg file.
e.g. AUTOLISTTIME-A hh:mm hh:mm etc.....
AUTOLISTTIME-B hh:mm hh:mm etc.....
The AutoList and AutoRead functions have been tested with NNA BBS and
FBB BBS. I do not know if they will work correctly with other types of BBS
software. I would be pleased to hear if they do, or do not!
Note: If your NTSBBS has a pause option, then it *MUST* be set to OFF, or
AutoList and AutoRead will not function correctly.
Automatic AutoList functions are disabled if no times are set.
The reception and processing of FBB Unproto broadcasts can be disabled by
setting UPLISTSIZE to 0 (zero).
The two AutoList functions can run alongside each other, but normally one or
the other will be disabled.
(You could, for instance, run the AutoList type A function with a NNA BBS, and
the AutoList type B function with a different FBB BBS. Now, whether this is a
good idea or not is another question....)
Note:
Function keys F6, F8 & F9 have been re-programmed in PMS version 2.17 to
accommodate the new functions.
-------------------------------------------------------------------------------
Monitor port mask options.
The monitor mask controls which radio ports are monitored, and what types of
frames are displayed. The PMS can monitor BPQ radio ports 1 to 12
The mask number is a 4 digit hexadecimal number.
The first digit is the frame mask, which sets the types of frames monitored.
The value is a hex number from 0 to F. It is a bit field where:
Bit 1 enables the display of NODES broadcasts.
Bit 2 enables the display of supervisory frames.
Bit 3 enables the display of NetRom frames.
Bit 4 is not used, and is always 0.
Normal frames containing data (text) are always displayed.
The default is 7 (bits 1-3 set) which means monitor all types of frames.
The last 3 digits of the number are the BPQ radio port mask.
The value is a 3 digit hex number from 000 to FFF. It is a bit field where:
Bit 1 enables monitoring of radio port 1
Bit 2 enables monitoring of radio port 2
(...through to...)
Bit 12 enables monitoring of radio port 12
The default value of FFF (hex) means monitor all ports.
The full mask value will normally be 7FFF hex. The current value is displayed
on the lower status line as Mask-xxxx and can be changed with the F3 key.
-------------------------------------------------------------------------------
The system text editor.
The editor is not intended to be a full-blown word processor!
It should be sufficient for its purpose.
Note: All control codes, other than 13 (CR) and 26 (EOF), will be removed from
a text file loaded into the editor.
Whilst in the editor you can use the normal edit keys;
Insert, Delete, Backspace, Arrow keys, Home, End, Page up, Page Down,
and Ctrl+(edit key) to move around the text. Automatic word wrap is used.
^Y Delete an entire line.
^U Re-insert the last line deleted, at the current line position.
^P Allow the next character to be a control code.
^KA Copy a marked block to the current cursor position.
^KB Mark the start of a block.
^KH Clear the markers.
^KK Mark the end of a block.
^KP Print a marked block. If no markers are set, then nothing is printed.
^KQ Quit the editor without saving the file.
^KR Read another file into the editor, at the current cursor position.
^KS Save the file and stay in the editor.
^KV Move a marked block to the current cursor position.
^KW Append a marked block to a file.
^KX Save the file, then quit the editor.
^KY Delete a (small) marked block.
<Enter> Split the line, or create a new blank line.
<Tab> Inserts spaces to move the cursor to the next Tab position.
^ indicates a control key sequence. ^KR is <Ctrl>K followed by R
Note:
The block markers may be incorrect if a word wrap occurs at the beginning
or end of the marked block.
Editing a PMS message file. (S/EM)
If you are editing a message file, do not alter or delete the R: routing lines,
as these are used by the forwarding system.
If you wish to read the contents of another PMS message into the editor, then
you can refer to the PMS message in shortform. Assuming the message number to
read is 1234, then enter #1234 as the filename to read and the name will be
converted to MAIL\MSG01234.msg
If you actually need to read in a real file called #1234 then include the full
path in the filename. e.g. \TEXT\#1234
-------------------------------------------------------------------------------
7Plus files.
The PMS can automatically convert 7Plus files received as messages into
separate 7Plus files using the original file name extracted from the 7Plus
header. e.g. If a multi-part 7Plus program has been sent to the PMS as message
numbers 201, 202 and 203 then enter the command: D7 201 202 203
D7 is the command, followed by the relevant message numbers.
It will create 3 files in the 7PLUS\ sub-directory called xxx.P01 xxx.P02 and
xxx.P03 (The xxx being the original filename)
Note: The PMS does not actually decode the files. It converts message files
into 7Plus files ready for decoding with 7PLUS.EXE
(7PLUS 2.02 is copyright (C) DG1BBQ)
-------------------------------------------------------------------------------
User variables.
The following variables may be used in SCRIPT files, and in the multi-line
configuration commands in the npfpms.cfg file.
The variable will be converted to the appropriate text when transmitted.
Any $x not listed below will be removed from the text.
Note: The case of the character is significant!
$$ The $ character itself.
$A The day of the week.
$B Bell. Adds a ASCII code 7 to the text.
$C Callsign of the user currently connected.
$D USA Date. MM-DD-YYYY e.g. 09-26-1992
$d Date. DD month e.g. 26 Sep
$E Date. DD-MM-YY e.g. 26-09-92
$e Date. DD-MM-YYYY e.g. 26-09-1992
$F Lowest message number.
$g Date. DD month YYYY e.g. 26 Sep 1992
$I SysOp's name.
$J A New Line (CR - ASCII 13)
$K The currently connected users total number of log-on's.
$L Highest message number.
$l Users message pointer.
$M "morning/afternoon/evening" (Depending on time of day)
$N Number of active messages.
$n Number of unread messages for currently connected user.
$O PMS callsign.
$o The local NTSBBS callsign.
$P The PMS channel number.
$S Time signature. e.g. gmt
$T Current time. hh:mm
$t Current time. hh:mm:ss
$U Same as $X
$V Software version.
$W The currently connected users name.
$X The currently connected users last log-on date. (dd-month-yyyy)
$x The currently connected users last log-on date. (dd-month)
$Y The currently connected users last log-on time. (hh:mm)
S0 to $9 are reserved for internal use. Do not use!
Any $x variable not listed above will be removed from the text.
Note:
The date separator depends on the setting of DATESEP in the npfpms.cfg file
It defaults to a -
===============================================================================
DESQview interface.
NPFPMS is a DESQview aware program. It can make the required calls to the
DESQview API to interface correctly with DV. It can also give up it timeslice
when just its idling, waiting for input.
The PMS command line switch /V has the following options:
/V0 Disable all DV calls.
/V1 Enable DV critical calls.
/V2 Enable release timeslice calls.
/V3 Enable both. (Default)
If the PMS detects DESQview has been loaded it will enable all DV calls, unless
a /V option has been used on the command line. If DESQview has not been loaded
then all DV calls are disabled regardless of any /V option.
Suggested set-up for DESQview V2.3+ and a 386/486 PC
The PMS *should* work under DESQview on a 286, but its not been tested.
The BIOS must be dated 01/10/86 or later. The DESQview version must be 2.3 or
later.
Program Name............: NPFPMS
Keys to Use on Open Menu: PM Memory Size (in K): 590
──────────────────────────────────────────────────────────────────────────────
Program...: C:\PMS\PMSCODE.EXE
Parameters: /DX
Directory.: C:\PMS
──────────────────────────────────────────────────────────────────────────────
Options:
Writes text directly to screen.......: [N]
Displays graphics information........: [N]
Virtualize text/graphics (Y,N,T).....: [N]
Uses serial ports (Y,N,1,2)..........: [N]
Requires floppy diskette.............: [N]
Change a Program Advanced Options
System Memory (in K).......: 0 Maximum Program Memory Size (in K)..: 630
Script Buffer Size.........: 0 Maximum Expanded Memory Size (in K):
Text Pages: 1 Graphics Pages: 0 Initial Mode: Interrupts: 00 to FF
──────────────────────────────────────────────────────────────────────────────
Window Position:
Maximum Height: 25 Starting Height: 25 Starting Row...: 0
Maximum Width.: 80 Starting Width.: 80 Starting Column: 0
──────────────────────────────────────────────────────────────────────────────
Close on exit (Y,N,blank)......: [N] Uses its own colors..............: [Y]
Allow Close Window command.....: [N] Runs in background (Y,N,blank)...: [Y]
Uses math coprocessor..........: [N] Keyboard conflict (0-F)..........: [0]
Share CPU when foreground......: [Y] Share EGA when foreground/zoomed.: [Y]
Can be swapped out (Y,N,blank).: [ ] Protection level (0-3)...........: [2]
Notes:
'Uses serial ports' is set to [N] as the PMS program does not use the serial
ports directly. Control of the serial ports is by the BPQcode, which must be
loaded BEFORE DESQview.
It *may* be possible to reduce the Memory Size down from the 590K suggested
if the buffer sizes are kept small. Should the PMS stop with an ERROR 7,
or DESQview just aborts the PMS, it is most likely running out of memory!
An EXCEPTION 13 error can be generated by (Q)EMM386.SYS if the PMS does not
have enough memory to run one of its sub-programs (i.e. message compression).
*THE* most common reason for the PMS to fail to work correctly under DESQview
is lack of allocated memory!
The PMS will make the relevant calls to DESQview to prevent time-critical
events being interrupted.
If the PMS writes outside its DV window, try setting:
Virtualize text/graphics (Y,N,T).....: [Y]
Also try:
Writes text directly to screen.......: [Y]
(but be aware that this may cause DV to suspend the PMS when it is not running
as a full-screen foreground task).
===============================================================================
USER.DOC file
Please note that the format of the user.doc file is important as it is used by
the help system. If you edit the file do not remove the blank lines between
entries, or the leading spaces.
You may edit the actual text, but do not change the way it is set out.
-------------------------------------------------------------------------------
Log file.
The log file records the activity of the PMS. Most automatic functions and
errors are recorded in the system log. The log can be browsed/edited by
pressing the F6 key to load the log file into the editor. You must not delete
the log file, or edit it from outside whilst the PMS is running!
-------------------------------------------------------------------------------
When a new message arrives for the SysOp a series of 5 pips will sound. The
same signal is sounded (as a reminder) if a Msg for: beacon is transmitted
which includes the SysOp's callsign. The Scroll Lock LED on the keyboard will
also flash to indicate a new message has arrived. Reading ANY message will
cancel the flash.
-------------------------------------------------------------------------------
BID's and MID's.
Bulletin ID's are stored in a file called SYS\bids.rec
This file should be pruned occasionally (every few months?) to remove oldest
entries. The larger the file grows, the slower the duplicate bid checking will
be. You can use the system editor to edit this file, as the file is in ascii
format. The <Shift>F6 key will load the bids.rec file into the editor.
-------------------------------------------------------------------------------
Testing the PMS locally.
You can connect from one PMS window to another to test the system.
e.g.
Select window 0
Press F10 to connect to the BPQ switch.
Type C G8NPF-3 (or whatever the PMS's callsign is)
(Enter your security characters, if appropriate).
You will now be connected to the PMS, as if you had connected over the air.
===============================================================================
Restricting the range of messages Listed and Read.
The A and R parameters.
In order to speed up searches, most list commands only operate on a restricted
range of messages. The basic L (List) command only scans messages added since
the user last did a List. Most other List and Read commands only scan messages
added since the users last log-on. To force these commands to search ALL the
messages on the system, append an A to the command.
e.g. L A
L> OS2 A
L< G8NPF A
Some commands normally search the entire message base by default. To restrict
these commands to searching new messages only, append an R to the command.
e.g. LX R
LM R
If you have a large number of messages in the message base, then some List
commands can still result in very long lists.
(i.e. A new user logs on and types L, or the SysOp uses the LX command).
You can set a limit to the number of messages listed by any of the List
commands, with the MAXLIST setting in the npfpms.cfg file. MAXLIST defaults to
50. If recent messages have been killed or deleted, then you may get somewhat
less than the expected maximum.
Note:
A users message pointers are updated automatically when the user disconnects
with the (B)ye (or Q) command .
To update your (the SysOp's) message pointers, just type B at a command line.
-------------------------------------------------------------------------------
Misc. notes regarding the BPQCFG.
The PMS callsign is read from the BBSCALL entry in the BPQCFG.BIN file.
The PMS "Message for:" beacon will be transmitted on all BPQ ports that have an
UNPROTO path set in the BPQCFG file.
The BPQ directory specified by the BPQDIR option must contain the file
BPQCFG.BIN (read by the PMS on start-up).
There is no need to specify any TNCPORT's for Host Mode operation, and you do
not need to load the BPQHTNC2 driver.
-------------------------------------------------------------------------------
Automatically changing the @BBS field on incoming messages.
The file CONFIG\change.bbs holds a list of @BBS fields to be replaced and the
revised field.
i.e.
ESX #ESSEX will replace @ESX with @#ESSEX
GB7NNA GB7ESX will replace @GB7NNA with @GB7ESX
GB GBR.EU will replace @GB with @GBR.EU
-------------------------------------------------------------------------------
Message on hold.
There is a facility to place on hold all incoming messages addressed TO or
FROM a specific callsign, all messages addressed @ a particular BBS, or all
messages sent by a particular station regardless of the TO or FROM fields.
Enter a list of callsign's to be held in the file CONFIG\hold.lst
One callsign per line. SSID's are ignored.
i.e.
> G9AAA
< G9AAA
< G9BBB
@ GB9XXX
B GB9ZZZ
Will hold all messages addressed TO or FROM G9AAA, all messages FROM G9BBB,
all messages addressed to stations @ GB9XXX, and ALL messages sent by the
station GB9ZZZ regardless of the TO or FROM fields.
Messages are flagged as as type H. (PH BH) Only the SysOp can list or read
these messages. The SysOp can hold a message manually with the HM command,
and clear it with the UH command. The LH command will list all held messages.
-------------------------------------------------------------------------------
3rd party message restrictions.
By default, the PMS will not accept 3rd party messages from anyone but the PMS
SysOp. Also, a normal user cannot list or read 3rd party messages.
This complies with the current RA rules.
(The PMS SysOp can always access ALL messages)
If you wish to allow 3rd party access to ALL users (NOV?), then set
THIRDPARTY to 2, in the npfpms.cfg file.
If you wish to allow limited 3rd party access to a few trusted users, then
set THIRDPARTY to 1, and set the individual users S and R flags as appropriate.
From version 2.17, compressed messages forwarded to the PMS are also checked.
Messages from a FBB type BBS are checked as they are offered, and 3rd party
messages are rejected before they are sent.
With NNA type BBS's its not possible to reject the messages before they are
sent, so they are checked afterwards and any 3rd party messages are changed to
type Z (the same type as AutoRead messages).
This prevents any other user seeing the messages on the PMS.
If you have given the NTSBBS 3rd party access, then all messages are accepted.
Note:
If you have arranged for your NTSBBS to forward certain types of bulletins to
your PMS, then you must give the BBS 3rd party access by setting its S flag,
and set THIRDPARTY to 1 (or 2)
By default, the PMS will only forward out messages addressed FROM the SysOp.
If you wish the PMS to forward 3rd party messages, set FWDLEVEL to 2, in the
npfpms.cfg file.
-------------------------------------------------------------------------------
DOS * commands.
There is LIMITED support for DOS commands entered at the pms> prompt.
Commands must be pre-fixed with a * character. i.e. *DIR /W
You should restrict usage to simple DOS commands, and avoid advanced commands
that may corrupt the memory/environment in use by the PMS.
Be VERY careful with DOS commands as it is possible to do things that may
corrupt the PMS code, hang the system, or change files the PMS is using.
If a DOS command prompts for input, you will NOT see the prompt!
If the command then looks for keyboard input it will receive a dummy <Enter>
keystroke, as the keyboard buffer is pre-loaded with a few ASCII 13's.
The command *TIME (on its own) would, for instance, prompt for the new time and
expect to read the reply from the keyboard buffer. It will just get a dummy
<Enter> and the time would not be changed. Entering *TIME 20:15 will execute ok
as the required input is already there and the time will be changed.
However, if the DOS command flushes the keyboard buffer prior to looking for
input (as the DIR command can do, if the listing is a long one) then it will
just wait for you to press a real key.
In general, try to avoid using commands that may prompt for input.
If you get stuck, Ctrl/C or Ctrl/Break will often terminate a DOS command.
Please note that whilst an external DOS command is executing, *ALL* the PMS
windows are frozen. If you use a DOS command that takes a long time to execute,
or waits for keyboard input, the PMS will be prevented from functioning.
Once a hour, on the hour, the PMS will call an external batch file. This must
be in the \PMS\CONFIG directory, and called 'external.bat'
The batch file can contain any commands normally valid in a batch file, and
can run EXE or COM files and/or call other batch files. Bear in mind that
while the file is executing the PMS multi-tasking is frozen, so only run
quick programs that DO NOT pause and wait for keyboard input!
-------------------------------------------------------------------------------
Password protection for users and forwarding sessions.
The pms supports NNA style password protection for both normal users and for
PMS<>BBS forwarding sessions. To enable the latter, include a V in the pms SID.
If a user is allowed Remote SysOp access (A flag set), then SysOp status is
granted automatically when the PMS receives a valid password.
Before a user can have password facilities he must first be issued with a
password matrix like the one below. Each users matrix will be different.
A password matrix can be generated using the external program PASSWORD.EXE,
entering the command as: PASSWORD <callsign>
This will create a matrix for the specified callsign called xxxxxx.mat
where xxxxxx is the callsign. This matrix file should then be placed in the PMS
CONFIG directory, and a copy given to the user.
Example matrix.
0 1 2 3 4 5 6 7
0 A b F $ 7 : j u
1 1 H J & : F S H
2 H F R T & 5 4 c
3 b f $ S ! J N B
4 J k y f % 5 2 0
5 + G D 3 $ y f 5
6 = g h E x v \ j
7 R p * X ; Y C d
The matrix is numbered 0 - 7 down (the first of the double numbers) and 0 - 7
across (the second of the double numbers).
The user logs onto the PMS in the normal way where they can read mail, download
files etc. However, before they can SEND or KILL a message they will have to
enter a @ character at the prompt and wait. The PMS will return 3 pairs of
numbers.
They must then check their personal password matrix and enter the correct
characters without spaces. The password is case sensitive so it must be entered
exactly as it's laid out in the matrix.
In the above example matrix, if the PMS sent 21 54 27 the user would enter F$c
The first pair of numbers is 21 - 2 down, 1 across = F
The second pair of numbers is 54 - 5 down, 4 across = $
The third pair of numbers is 27 - 2 down, 7 across = c
There must be no spaces and upper and lower case letters must be entered just
as they are in the matrix.
No acknowledgement is given to say if the password was entered correctly or not.
Incorrect replies will be ignored so they can send @ and answer as many times
as they like. This adds further security to the password.
If the password has not been correctly entered, the user will receive the
message "This message will be held" if they try to send a message. If this
happens they can enter * to cancel the message and follow the above
instructions again (or carry on and have the message held).
For automatic forwarding sessions both the PMS and the BBS you are forwarding
to/from must have the same matrix. If both stations have a V in the SID them
the password is sent automatically. An incorrect password or a missing matrix
file will result in a disconnect! If you wish to use your BBS's alias, rather
than its real callsign (i.e. xxxBBS rather than GB7xxx) then you will need a
duplicate matrix for the alias. (Just copy the matrix GB7xxx.MAT to xxxBBS.MAT)
The password protection operates as follows:-
Assuming you always have a V in your pms SID...
Manual incoming connections.
----------------------------
1. A normal user connects, for whom you DON'T have a password matrix stored:
No password matrix means password protection is not used.
The @ command has no effect. It is just ignored.
2. A normal user connects, for whom you DO have a password matrix stored:
Valid password matrix means password protection is used.
If the user sends a valid password (with the @ command), then the user can
send messages normally, otherwise any messages sent are held for the
SysOp's attention. An incorrect password response is simply ignored.
Automatic incoming connections.
-------------------------------
1. A bbs user connects, for whom you DON'T have a password matrix stored:
The bbs user sends his SID [..-BFHLM$] (No V)
No V in the incoming SID means no request for a password is made.
Normal forwarding takes place.
2. A bbs user connects, for whom you DON'T have a password matrix stored:
The bbs user sends his SID [..-BFHLMV$] (with a V)
A V in the incoming SID, with no valid password matrix for the user, means
the user is immediately disconnected.
3. A bbs user connects, for whom you DO have a password matrix stored:
The bbs user sends his SID [..-BFHLM$] (No V)
No V in the incoming SID means no request for a password is made.
Normal forwarding takes place, but the valid password matrix means that any
incoming messages are held for SysOp's attention.
4. A bbs user connects, for whom you DO have a password matrix stored:
The bbs user sends his SID [..-BFHLMV$] (With a V)
A V in the incoming SID causes a password to be requested automatically.
If a valid password is received, the user can forward messages normally.
If a invalid password is received then the user is disconnected.
A normal user is a user who does not send a SID when connecting.
A bbs user is a user using PMS/BBS software that sends a SID [....] when it
connects to another station in automatic mode.
The password system also operates when a user tries to KILL messages.
So, if a pirate used the callsign of someone who had arranged for a password at
the BBS/PMS, the best the pirate could achieve is to send a message that was
placed on hold, and would not be forwarded on anywhere until the SysOp
released it. If the contents were dubious then the SysOp would contact the
supposed sender first, to verify if the message was genuine.
To disable the automatic BBS password verification, remove the V from the
PMS's SID and remove the appropriate password matrix file.
To disable a normal users password verification, remove the users password
matrix file.
Remember, a matrix is created at random, so if you delete a users matrix, and
then generate a matrix for the user again, the new matrix will be different
from the old one. You would then need to send the new matrix to the user.
If you only wish to remove a matrix file temporarily, just rename xxxxx.MAT to,
say, xxxxx.OLD You can then re-instate it easily, without having to generate a
new matrix.
------------------------------------------------------------------------------
Manual password exchange.
This is initiated by pressing SHIFT-F1 (FBB) or ALT-F1 (NNA). It is intended
for use when you have connected manually (i.e. in terminal mode) to your local
BBS, and then want to exchange passwords.
This has been a bit troublesome, and seems to work with some BBS's and not
others.
Note:
Manual password will NOT operate correctly if you manually connect to a
second node (your own node being the first) and then issue a C GB7xxx command
from the second node. In this case, when the PMS interrogates your node to
get the callsign of the station its connected to, the node will return the
callsign of the 2nd node, and not the callsign of the destination BBS.
i.e.
Press F10 (to enter terminal mode)
C G1NNA (a node)
(wait for node to return 'Connected to NNA:G1NNA')
C GB7ESX
(wait for 'Connected to GB7ESX')
Press Alt-F1 to exchange passwords
This will FAIL, as when the PMS interrogates the node to get the callsign
of the station its connected to, it will return G1NNA, and not GB7ESX. The PMS
will then attempt to load a password matrix for G1NNA rather than GB7ESX.
Press F10 (to enter terminal mode)
C GB7ESX
(wait for 'Connected to GB7ESX')
Press Alt-F1 to exchange passwords
This will work, even if the route to GB7ESX is via other nodes, as the
connections will be at level 4 and, when interrogated, the node will return
the callsign of GB7ESX.
------------------------------------------------------------------------------
Importing messages from disk file.
The PMS can import messages from a disk file (plain text, NNA BBS format)
The command is: IMPORT (drv:)filename.ext
(Where 'filename.ext' is the name of the file to import).
Messages are read from the file as if they were being forwarded to the PMS. The
BID's checking works as normal, so the PMS will not import duplicate messages.
Exporting messages to a disk file.
Exporting messages to a file is an extension of the forwarding system.
EXPORT is a special callsign which is used to create the export file.
To manually create an export file, use FD EXPORT (options) The options are the
same as those normally used with the FD command. The forwarded messages are
written to a file call \PMS\export.bbs
This file can then be copied to a floppy disk with: *COPY EXPORT.BBS A:
An export file can be created automatically by including an entry in the
fwdfile.lst using the special callsign EXPORT (options) i.e.
EXPORT @GB7ESX >ALL
(For a list of the available options, see the FD command).
Normally, once a message has been exported to the export file it is marked as
such, and will not be exported again. You can force the PMS to export messages
a second time by placing a /D at the end of the EXPORT command. That will
inhibit the duplicate checking.
------------------------------------------------------------------------------
Deleting messages locked by another channel.
If the PMS code aborts while a message is being sent, you may end up with a
zero length message which shows in the listings something like:
Msg# TS Size Date (etc...)
1234 Cn 0 28-Jul (etc...)
(The Cn indicates the message was coming from channel n)
Attempting to delete the message with the DL command may produce a response
like 'Locked by another channel?'
To delete the message, first use the Mark Normal command.
Assuming message number 1234, type:
MN 1234
Then you can delete it as normal.
WARNING:
Only use this method to delete crashed messages.
DO NOT use it on a message that is actually being entered on another channel!
------------------------------------------------------------------------------
Automatic connection to other nodes. (When forwarding etc.)
Different types of nodes can produce a variety of connect text. Net-Rom & BPQ
nodes, when connected to at Level 4, using the real callsign of the node,
normally just send 'Connected to xxxxx' or 'Failure with xxxxx' This is the
normal type of reply the PMS expects, to determine if the connection has been
successful or not. However, if connections are made at level 2, using the
node's alias, or the node is a KA Node, then the text can be several lines
long, and quite varied!
To allow for this you can specify text strings (in the npfpms.cfg file) for
determining if a connection to a node has succeeded or failed, with the
commands: NODECONN <text> and NODEFAIL <text>
See the settings in the sample npfpms.cfg file.
When the PMS connects to a node, it will check all the text strings specified,
looking for a match within the nodes reply text, to determine if the connection
was successful or not. Any node reply text not containing any of the specified
text strings will be ignored.
e.g. If you set:
NODEFAIL FAILURE WITH
NODEFAIL BUSY FROM
NODECONN CONNECTED TO
NODECONN LINK MADE
Then, if the PMS receives any text from the node containing 'Failure with' or
'Busy from' it will assume the connect failed. If is sees any text containing
'Connected to' or 'Link made' it will assume the connection succeeded.
You can specify up to twenty NODECONN strings, and up to twenty NODEFAIL
strings. Any more will be ignored.
Note: The case of the received text is not important. Lower case text is
converted to upper case.
------------------------------------------------------------------------------
Use of a Virtual Disk (RAM disk).
The PMS can make use of a virtual disk (or a different hard disk) for its
temporary files. Using a ram disk will speed up bulk forwarding compression
and de-compression, and other operations that create temporary files.
You specify the virtual disk using the TEMPDRIVE command in the npfpms.cfg file
as TEMPDRIVE drv:(\path)
i.e.
TEMPDRIVE E:\ To use the root directory of drive E
or
TEMPDRIVE G:\TEMP\ To use the sub-directory \TEMP of drive G
The virtual drive must exist. If you specify a single sub-directory that does
not exist, the PMS will attempt to create it. The PMS will not attempt to
create multiple sub-directories.
To create a 500K virtual disk in extended memory, insert an entry into your
config.sys file something like:
DEVICE=C:\DOS\VDISK.SYS 500 /E
The exact syntax may vary depending on your OS.
------------------------------------------------------------------------------
Files areas.
The default files area \PMS\FILES\ must contain the USER.DOC file.
You may also place any files you wish to make available for downloading in this
directory. The files sub-directories may also contain further sub-directories.
User uploaded files go into the FILES.ULD sub-directory, and are not available
to other users until they are transferred into a download directory by the
SysOp. When a file is uploaded, the system creates a .dsc file in the upload
directory, which contains information on the uploaded file.
DO NOT ALTER THESE .DSC FILES!
You can specify alternative areas for the archive and upload areas, with the
config commands:
ARCHIVE <path> For archived messages.
UPLOAD <path> For the user upload files area. Should be different to any
download files area.
You can specify additional files download areas with the config commands:
FILESDIR <path>
The default files area (\PMS\FILES\) is included automatically. Do not include
it in a FILESDIR command. Do not move or erase the file USER.DOC from the
default files directory!
<path> should be the FULL path to the directory, including the drive if
appropriate. e.g. FILESDIR C:\PUBLIC\FILES\
A specified drive must exist. If you specify a single sub-directory that does
not exist, the PMS will attempt to create it. The PMS will not attempt to
create multiple sub-directories.
Files download areas will appear to the user as pseudo drives. To download a
file from a specific area, include the pseudo drive number in the filename.
i.e. 1:\MODS\tncmod.txt
The WN (WhatNew) command does not scan sub-directories of READ-ONLY media
(like CD Roms) as, given the number of files likely to be on a CD Rom, this can
take a considerable time and generate huge amounts of text.
------------------------------------------------------------------------------
Yapp protocol enhancements.
The PMS supports the YappC checksum protocol (as used by FBB).
Crash recovery (Resume download)
If a users binary download fails part way through, the user can resume a file
transfer from the point of failure, rather than having to download the whole
file again. The user must also be running a version of Yapp that supports crash
recovery!
Crash recovery also operates when the SysOp is using the PMS in terminal mode
to download a binary file from another system that supports crash recovery.
*** Warning: When the PMS prompts for a local filename for the file, if you
give the name of a file that already exists then the system will assume that
crash recovery is required, and the existing file will be appended to!
If the existing file was not an aborted part of the file you are currently
downloading, the resultant file will be invalid.
If the remote system does not support crash recovery, then it will abort the
transfer. In this case you will need to delete the existing (incomplete) file,
or specify a different local filename, and try again for a normal download.
------------------------------------------------------------------------------
Binary compressed file transfers.
The PMS contains an experimental compressed binary file Upload\Download , as an
alternative to Ascii and Yapp transfers. The compression type is LZH-RLL (the
same as used for compressed mail forwarding).
User commands BU <fsp> and BD <fsp> (Binary Upload/Download) have been added.
The function keys F8 and Shift-F8 can be used for Binary Upload/Download whilst
in Terminal mode. Transferring Ascii files as compressed data can reduce the
transfer size considerably. Zipped files may not show much reduction in size,
but will not incur the overhead associated with Yapp protocol.
At present, this will only work with another NPFPMS system, and the protocol
may well be revised as things develop. (i.e. to make it compatible with other
possible systems).
Remember, this is just experimental and may well be subject to changes.
===============================================================================
EXTERNAL SUPPORT PROGRAMS
=========================
Re-numbering the PMS message base.
----------------------------------
RENUMBER.EXE is an external program which will renumber the all PMS messages to
101 upwards. It should be run from the PMS directory. The PMS *must* be closed
down before using this program!
You can specify a different starting number if required. i.e. RENUMBER 200
Don't re-number just for the sake of it. Remember that message BID's are
generated from the message numbers, and if you re-number too often then the PMS
may produce a duplicate BID, which may then be refused if you attempt to
forward it to a BBS that has already received a message with the same BID.
Re-numbering should only be required if the message numbers approach the
highest valid number (99999) or a computer crash has affected the numbering.
Pruning the message index file.
-------------------------------
PRUNEIDX.EXE is an external program that will prune out all deleted messages
from the message index file (SYS\msgindex.idx). It must be run from the PMS
directory. It should not normally be necessary to use this program, as the PMS
internal housekeeping will prune the index file automatically. It can, however,
be used if required.
Deleting a user from the user file.
-----------------------------------
DELUSER.EXE is an external program that can be used to delete a user from the
user file (namelog.sys). It must be run from the main PMS directory.
Typing: DELUSER G9AAA will list the entry for G9AAA, and then ask for
confirmation to to delete the entry. The original namelog.sys file is copied
to a backup file called namelog.old. Subsequent use of DELUSER will overwrite
any previous backup file.
Creating a user password matrix file.
-------------------------------------
PASSWORD.EXE is an external program which creates a password matrix for a
given callsign. Its operation is described in the section about passwords.
------------------------------------------------------------------------------
Memory suggestions:
A few people have reported problems with running out of memory. If the PMS
stops with an ERROR 7 or ERROR 242, or (if DV or QEMM are used) DESQview
terminates the pms window, or QEMM386 reports an EXCEPTION 13 error, then its
likely the PMS is running out of memory.
Try reducing the size of the review buffer, REVIEWSIZE to about 50
Also try reducing the TEXTBUFFERSIZE buffer to as small as you can manage with,
bearing in mind it must be big enough to load the AutoList/Read files. (100 ?)
Do not let the AutoList file grow too large. The bigger it gets, the more
memory it takes to process it.
Try reducing the size of the JALISTSIZE buffer to, say, 50
Do not configure the PMS for more channels than you really need. Four (0-3)
should be enough. Each channel takes up memory.
Restrict the use the editor and review command to one or two windows only.
On a 386 it should be possible to load BPQ into high memory (above 640k). This
saves 100K odd base memory. If you are using DESQview/QEMM386 make sure you get
as big a DV window as possible for the PMS to run in.
===============================================================================
PROBLEMS.
File corruption.
----------------
I couple of users have reported problems with file corruption (cross linked
clusters, invalid directory entries etc.)
In one case, the problem seemed to be due to a disk compression program. Some
disk compression drivers are know to be less than perfect. The company
supplying the driver denied that there had ever been any problems, and then
produced an update to fix the bugs they said did not exist! Hmmm...
In another case a disk caching program was being used, as part of a WINDOWS
set-up. Removing the caching program cured all the file corruption problems!
These problems may have been due to early versions of the programs involved.
There again.....
Two other reported problems of erratic behaviour and/or corrupted files were
found to be caused by a VIRUS on the users computer.
I GUARANTEE that the code that *I* send out is virus free, but if you obtain
the pms code from any other source then take the normal precautions...
Mono systems.
-------------
If you have a problem running the PMS on a mono system (loss of inverted text,
no flashing text, unwanted underscored text), try setting VDU to MONOVGA and
pressing Ctrl-F7 to kill the colour.
Editor.
-------
There is a know bug in the editor, where it appears to loose a line of text.
The scrolling appears to get out of sync. This only effects the screen
display, and not the actual editor buffer. No text is lost.
Pressing Page-Up Page-Down normally restores the screen.
I am trying to find the reason for this odd effect.
==============================================================================
Registering the PMS.
If you decide to use the PMS code on a regular basis, and have not previously
registered, then the requested registration fee is 15.00 pounds.
You must state the callsign to be used with the PMS, and the full version
number of the version you are registering (i.e. G9ABC V2.31a). Also I would
appreciate knowing where you obtained the program from (optional, just for my
own information). You will then receive a registration number which will remove
the ** Un-registered copy of NPFPMS ** line from outgoing messages, and you
will be added to the registered users list.
Cheques made out to 'E' Harrison please, not 'T' (Ted is only a nickname!)
IF YOU WANT SUPPORT, THEN REGISTER!
Registrations received will be used to help with the cost of running my 24hr
multi-port node, which is used for forwarding BBS traffic and gives local
users access to the network. Your registration will be making a direct
contribution to packet radio.
Please note, the registration number only works with the callsign stated. If
the PMS is used with a different callsign, then the registration number has no
effect. Another station cannot use your registration number!
A registration form is included on the disk called REGISTER.FRM
==============================================================================
Special thanks to Beta-testers G6FBF, G6NHK, G8DZH and others, for their ideas
and suggestions.
Finally.......
PLEASE report any bugs or other problems you come across. I can't check
everything under all conditions, and welcome ANY feedback from users.
A lot of improvements have been as a result of suggestions and/or bug reports.
Thank you...
73 Ted.
NTS G8NPF@GB7ESX
AMPRNet g8npf@gb7eip.ampr.org 44.131.185.66
Internet tedharrison@cix.compulink.co.uk